Đồ án môn học: An toàn và Bảo mật Thông tin
| STT | Họ và Tên | MSSV | Vai trò | |
|---|---|---|---|---|
| 1 | [Vũ Nguyễn Duy Anh] | [22810310266] | [dauyanhsadg@gmail.com] | Nhóm trưởng |
| 2 | [Trịnh Thị Thu Huyền] | [22810310234] | [email2@example.com] | Thành viên |
| 3 | [Nguyễn Nhật Quang] | [22810310087] | [email3@example.com] | Thành viên |
| Thành viên | Công việc phụ trách | Tiến độ |
|---|---|---|
| [Nhật Quang] | - Xây dựng module xác thực JWT -Nghiên cứu RSA-PSS - Tích hợp database PostgreSQL |
✅ Hoàn thành |
| [Duy Anh] | - Thiết kế kiến trúc hệ thống - Nghiên cứu lỗ hổng RSA PKCS#1 v1.5 - Xây dựng demo tấn công Bleichenbacher - Viết script demo so sánh |
✅ Hoàn thành |
| [Thu Huyền] | - Xây dựng API FastAPI - Thiết kế database schema -Nghiên cứu Ed22519 - Xây dựng module quản lý khóa |
✅ Hoàn thành |
- Docker Desktop (Windows/Mac) hoặc Docker Engine (Linux)
- Docker Compose v2.0+
- Python 3.10+ (để chạy các script demo)
- Git (để clone repository)
git clone <repository-url>
cd audit-servicedocker compose up -dĐợi khoảng 30 giây để các services khởi động hoàn tất.
docker compose psKết quả mong đợi: tất cả services ở trạng thái running.
Hình 1: Các services đang chạy
cd scripts
pip install -r requirements.txt
python test_secure_vs_vulnerable.pyScript này sẽ demo:
- ✅ Chữ ký hợp lệ được chấp nhận (cả 2 phiên bản)
- ✅ Chữ ký giả mạo bị từ chối bởi phiên bản secure
- ❌ Chữ ký giả mạo được chấp nhận bởi phiên bản vulnerable
Hình 2: Kết quả demo tấn công RSA PKCS#1 v1.5
| Thuật toán | Chữ ký hợp lệ | Chữ ký giả mạo |
|---|---|---|
rsa-pkcs1v15 (Secure) |
✅ Accepted | ❌ Rejected |
rsa-pkcs1v15-vulnerable |
✅ Accepted |
python scripts/admin_auth.pyHoặc sử dụng curl:
curl -X POST http://localhost/v1/auth/login \
-H "Content-Type: application/x-www-form-urlencoded" \
-d "username=admin&password=admin123"Hình 3: Đăng nhập thành công và nhận JWT token
| Username | Password | Vai trò |
|---|---|---|
admin |
admin123 |
Superadmin |
# Xem thông tin user
curl http://localhost/v1/auth/me \
-H "Authorization: Bearer <your-token>"
# Xem danh sách khóa chờ duyệt
curl http://localhost/v1/admin/keys/pending \
-H "Authorization: Bearer <your-token>"Hình 4: Truy cập các endpoint admin với JWT
python scripts/generate_rsa_keys.pypython scripts/register_key.py --algorithm rsa-pkcs1v15-vulnerableHình 5: Đăng ký khóa công khai
# Xem danh sách khóa chờ duyệt
python scripts/admin_auth.py
# Duyệt khóa qua API
curl -X POST http://localhost/v1/admin/keys/review \
-H "Authorization: Bearer <token>" \
-H "Content-Type: application/json" \
-d '{"key_id": "<key-id>", "action": "approve"}'python scripts/send_audit_event.pyHình 6: Gửi audit event với chữ ký số
curl "http://localhost/v1/logs?limit=10"- URL: http://localhost:3000
- Username: admin
- Password: admin
Sau khi đăng nhập, vào Dashboards > Audit Log Service
Hình 7: Dashboard giám sát hệ thống
Hệ thống hỗ trợ proxy qua Burp Suite để phân tích traffic:
# Chạy script với proxy Burp Suite
python scripts/test_secure_vs_vulnerable.py --proxy http://127.0.0.1:8080Hình 8: Capture traffic với Burp Suite
Hướng dẫn thêm hình ảnh:
- Tạo thư mục
docs/images/trong project- Chụp màn hình kết quả demo
- Lưu với tên file tương ứng:
docker-services.png- Docker containers đang chạyrsa-attack-demo.png- Kết quả demo tấn công RSAjwt-login.png- Đăng nhập JWT thành côngadmin-endpoints.png- Truy cập admin APIkey-registration.png- Đăng ký khóasend-audit-event.png- Gửi audit eventgrafana-dashboard.png- Grafana dashboardburp-suite.png- Burp Suite capture
| Lệnh | Mô tả |
|---|---|
docker compose up -d |
Khởi động tất cả services |
docker compose down |
Dừng tất cả services |
docker compose logs -f api |
Xem logs của API |
docker compose build api |
Build lại API sau khi sửa code |
docker compose restart api |
Khởi động lại API |
- Bleichenbacher, D. (1998). "Chosen Ciphertext Attacks Against Protocols Based on the RSA Encryption Standard PKCS #1"
- RFC 8017 - PKCS #1: RSA Cryptography Specifications Version 2.2
- CVE-2006-4339 - OpenSSL RSA Signature Forgery Vulnerability
Đồ án phục vụ mục đích học tập và nghiên cứu.







